/**
 * 根据以分为单位的价格，保留两位小数
 * @param price
 */
 export function formPrice(price: number | undefined) {
    if (!price && price !== 0) return 0;
    return (price / 100).toFixed(2);
  }

  /**
 * 根据以分为单位的价格，取整数，单位是元， 例如：210， 就是2元
 * @param price 价格
 */
  export function getIntPrice(price: number): string | 0 {
    if (!price) return 0;
    let priceArr = (price / 100).toFixed(2).split('.');
    return priceArr[0];
  }

/**
 * 根据以分为单位的价格，取小数点后两位
 * @param price 价格
 */
  export function getDecimalPrice(price: number): string | 0  {
    if (!price) return 0;
    let priceArr = (price / 100).toFixed(2).split('.');
    return priceArr[1];
  }
  
/**
 * 根据以分为单位的价格 计算对应的 元/ 角 / 分
 * @param faceValue 价格
 * @returns 对应的元/角/分
 */
  export function getCouponFaceValueText(faceValue: number): string {
    if (!faceValue) return '0';
    if (faceValue % 100 === 0) {
      // 元
      return (faceValue * 0.01).toFixed(0);
    } else if (faceValue % 10 === 0) {
      // 角
      return (faceValue * 0.01).toFixed(1);
    } else {
      // 分
      return (faceValue * 0.01).toFixed(2);
    }
  }
  
  /**
   * 保留小数  非四舍无人，仅仅保留指定位数
   * toFixedDecimal(3.1415926, 4) // 3.1415
   */
  export const toFixedDecimal = (value: number, unit: number): number => {
    const bits = Math.pow(10, unit);
    return Math.floor(value * bits) / bits;
  };
  
  /**
   * 保留后面两位小数
   * @param x 数值
   * @returns 后面新增的两位小数 或者 false布尔值
   */
  export function toDecimal2(x: number): string | boolean {
    let f = parseFloat(x.toString());
    if (isNaN(f)) {
      return false;
    }
    f = Math.floor(x * 100) / 100;
    let s = f.toString();
    let rs = s.indexOf('.');
    if (rs < 0) {
      rs = s.length;
      s += '.';
    }
    while (s.length <= rs + 2) {
      s += '0';
    }
    return s;
  }